/**
 * 策略模式
 * 主要是提供了高层接口，针对客户不同的请求，发起不同的策略
 * 而且这些策略都是平等关系
 *
 * 策略的重心不是如何实现算法，而是如何组织、调用算法
 * 使用策略模式可以避免使用多重条件(if-else)语句。多重条件语句不易维护
 *
 * 缺点就是客户端必须知道所有的策略类，并自行决定使用哪一个策略类。
 * 这就意味着客户端必须理解这些算法的区别，以便适时选择恰当的算法类。换言之，策略模式只适用于客户端知道算法或行为的情况
 *
 * 举个例子
 *  一个咕咕在野外碰到不同的敌对职业，有不同的策略；
 *
 *
 *  个人使用后觉得
 *  客户端本身在使用策略的瞬间，就已经进行了一次if else判断了，所以这里算不上是避免了多重条件
 *  但是，在进入策略类里，里头是有可以有更多的操作判断的——而这些判断，客户端是看不到的——所以到这里，才算是避免了多重条件
 *
 */
package behavior.strategy;